package com.gzx.plugin.tjzy.xxljob;

import com.xxl.job.core.context.XxlJobHelper;
import com.xxl.job.core.handler.annotation.XxlJob;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import vip.xiaonuo.common.util.CommonDateUtil;
import vip.xiaonuo.common.util.CommonWechatUtil;

import java.util.Arrays;
import java.util.List;

/**
 * @author xbl
 */
@Slf4j
@Component
@RequiredArgsConstructor
public class QWechatJob {

    //0646743f-9b7b-4e69-bbfb-f45f18d13561 每天9.20 10.30 11.40   13.40 15  17   19 时间段群里@一些人发消息
    //3d1c101f-2b26-4645-b408-f3c631d16ae9,请各位领导报一下数据信息,@all
    //0b7d60ed-8716-43c4-9f72-4007862f72af 分总群机器人 早上10点到晚上7点每个小时推送一次
    //艾特全员一定要加@符号
    @XxlJob("noticeQWechatJobHandler")
    public void noticeQWechatJobHandler() {
        log.info("XxlJob定时任务启动--------------->企微微信群通知{}", CommonDateUtil.getCurrentTimeStr());
        try {
            //参数逗号分隔，第一个参数是企微的机器人，第二个是通知的内容，后面的参数是群里@的人
            String params = XxlJobHelper.getJobParam();
            if (params == null) {
                log.error("企微微信群通知 - 参数为空");
            }
            String[] param = params.split(",");
            if (param.length < 2) {
                log.error("企微微信群通知 - 参数不足 {}", params);
            }
            //企业微信机器人的key
            String key = param[0];
            String content = param[1];
            //除了params的第一个，其它的参数是群里@的人
            List<String> users = Arrays.asList(param).subList(2, param.length);
            CommonWechatUtil.sendMessage(users, content, key);
        } catch (Exception e) {
            log.error("企微微信群通知出现异常", e);
        }
    }

}
